1. Field of the Invention
The invention concerns the reservation of resources in routers of a packet communication network, in particular an IP protocol network.
2. Description of Related Art
Active network refers to a network comprising so-called active nodes or routers, that is to say those capable of being programmed or configured remotely in order to be able to dynamically modify specific processing on the data passing through the network. In this case the routers receive appropriate packets which can comprise commands, a code or a program to be executed by the router concerned, as well as associated information. The packets carrying these commands, information, code or program intended for an active node are here referred to as “active packets”, as opposed to the other packets, referred to as “passive packets”, which do not contain data related to a particular execution environment of the active nodes.
Certain of the data contained in the active packets can either directly constitute a code executable by the active nodes, or identify a server and a code downloadable by the nodes from the server indicated.
The active and passive packets have different attributes so that any active node can recognise whether or not a received packet is active. Different methods exist for making a packet active. With regard to an IP protocol network, a first method consists of making the packet active by including a marker in its header. For this, a reserved option of the IP packet can be defined. According to another method, one of the FLOW LABEL fields of the IPv6 protocol is used for marking the packet as active. In particular a predetermined value can be given to such a field in the active packet containing a resource reservation request. According to yet another method, a marker of an MPLS label of the packet indicates that the packet is active. The use of a marker included in an MPLS label allows the router to determine more quickly if the packet is active. The same marker can be used in MPLS labels of packets in the flow with reserved resources. Consequently, an active router can thus determine the active nature of a packet it receives by verifying the presence of the marker in the packet.
A network can however comprise both active nodes and passive nodes, that is to say those not designed to take into account the information in active packets. Such a network is then referred to as a “hybrid active network” or more simply “hybrid network”.
Generally, the routing criteria for active packets in hybrid networks are different from those for passive packets. This is because the active packets must be routed as a matter of priority to the routers capable of taking into account the active packets, that is to say to the active routers. This type of routing is for example described in the article “Optimised Routing in Hybrid Active Networks” presented during the international conference “OPENARCH 2002”.
Active data flow or active flow refers to a flow of packets relating to one and the same application and consequently requiring a specific consistency of processing by the routers concerned. An active flow is identified by the fact that the packets constituting this flow are packets made active by one or other of the methods mentioned previously, or by any other appropriate method. An active data flow is conventionally processed in one and the same execution environment, by one and the same instance of a program started up in a router through which the flow passes. The same program instance is used in order to obtain consistent processing of the different packets in the active flow. The processing can for example consist of transcoding an IP video flow from one format to another by the same program instance. The same program instance must then be used for carrying out the transcoding of the frames on account of the fact that the processing of the video frames in the flow can vary according to the context set by preceding frames.
Establishment of a quality of service—also referred to as QoS—of the transmissions on a communication network is also known, by reserving resources for specific data flows passing through a network. A resource reservation protocol called “Beagle” in described in the document “Technical Report CMU-CS-98-150” published in July 1998 by the Carnegie Mellon University in the United States. This protocol is used for reserving execution resources for active flows throughout the routes which will then be followed by the packets in these flows to be processed by the active nodes. The reservation of execution resources is performed by sending a packet according to this protocol and this packet contains resource reservation commands placed in its payload. When a reservation packet in the Beagle protocol passes through them, the active routers recognise it because of the protocol number written therein. Corresponding execution resources are then reserved in the active routers which are the destinations of these commands.
However this method has drawbacks for hybrid networks. This is because the packets in the Beagle protocol containing the reservation commands are routed in the network as passive packets and are therefore routed through the network as a passive packet. They therefore pass indiscriminately through active routers and passive routers. Consequently, the packets containing the reservation commands may possibly pass through only passive routers, and as a result they are not processed by any active router in the network. The desired resource reservation therefore does not take place in this case.